As it is generally known, in computer-based communications, instant messaging systems enable instant communications between two or more people over a communication network such as the Internet. Instant messaging typically requires the use of a client program or logic to provide an instant messaging service. Instant messaging differs from electronic mail (“email”) in that conversations happen in real-time. Instant messaging sessions are sometimes referred to as “chat” sessions. Distribution of on-line “presence” information describing current user states, e.g. whether users are currently on-line and available to participate in an instant messaging session, is a key aspect of existing instant messaging systems. The combination of current user state distribution and the capability to hold real-time, on-line conversations continues to make instant messaging a very useful tool for vital business communications. Examples of existing instant messaging technologies include Qnext, MSN Messenger, AOL Instant Messenger, Yahoo! Messenger, Skype, Google Talk, .NET Messenger Service, Jabber, QQ, iChat and ICQ, and Internet Relay Chat (IRC).
With the increased use of instant messaging, a problem arises when users find themselves multitasking between multiple instant messaging sessions, and are then interrupted by an external event that must be dealt with, such as a phone ringing, a manager stopping in their office, etc. In such a situation, the user needs to be able to quickly and efficiently inform all of the other users they are currently instant messaging with in the multiple instant messaging session that they are being temporarily interrupted. Similarly, the user needs to be able to inform all of those other users when the interruption is over, and they can resume the instant messaging sessions (e.g. the phone call is over, the manager leaves their office, etc.).
This problem has not previously been recognized, and existing system design accordingly does not address it. In existing systems, in order for a user to communicate a message to all participants in all current instant messaging sessions in which they are participating, the user must either type or otherwise enter a separate message into each of the individual sessions (e.g. type “be right back—phone rang!” into the text entry field for each session), or copy and paste such a message into each of the session text entry fields. These operations are time consuming and inconvenient, and as a result users typically just tend to the interruption without information the other session participants, potentially resulting in confusion or misunderstanding as to why their responses may be delayed during the interruption.
Some existing systems allow users to broadcast a message to a separately defined user community, or to all users logged-in at the time the broadcast is sent. Such approaches are not useful with regard to solving the above described problem, since the messages conveyed through them are delivered to a set of recipients different from those who need to be reached (i.e. current participants in multiple open instant messaging sessions of a user that has been interrupted). Accordingly, the recipient set in these existing systems is not responsive to the dynamically changing set of participants for the currently open instant messaging sessions of a given user. Moreover, access to broadcasting features of existing systems is often limited to users having special privileges (e.g. administrator users or the like), and they are not available to ordinary individual users of the instant messaging system. Moreover, existing systems fail to foresee any need to capture a list of participants from multiple instant messaging sessions to which a previous message has been sent (e.g. “sorry—I have to answer the phone. I'll be right back!”), so that a subsequent message can be sent to that same set of users at the end of the interruption (e.g. “OK—I'm back now.”).
For the above reasons and others, it would be desirable to have a new system that allows an instant messaging system user to quickly and conveniently communicate with other participants in multiple current instant messaging sessions at the time of an interruption, and to capture the list of participants to which a previous message was sent so that a subsequent message can be sent to those same users when the interruption is over.